package com.office.file.message.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.office.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.office.common.annotation.Excel;

/**
 * 文件信息对象 file_info
 * 
 * @author ruoyi
 * @date 2025-05-22
 */
public class FileInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 权限（0私密 1分享） */
    @Excel(name = "文件权限", readConverterExp = "0=私密,1=分享")
    private Integer permission;

    /**文件地址**/
    @Excel(name = "文件地址")
    private String currentFileUrl;

    /**    接受前端选择的id**/
    private Long idCategory;

//    文件分类id
    private Long fileCategoryId;

//    文件分类
    @Excel(name = "文件分类")
    private String categoryName;

//    file_category的文件分类id
    private Long categoryId;

    /** 文件ID */
    private Long fileId;

//    用户id
    private Long userId;
    /** 文件原始名称 */
    @Excel(name = "文件原始名称")
    private String fileName;

    /** 文件大小（字节） */
    @Excel(name = "文件大小", readConverterExp = "字=节")
    private Long fileSize;

    /** 文件类型（如：image/png, application/pdf） */
    @Excel(name = "文件类型", readConverterExp = "如=：image/png,,a=pplication/pdf")
    private String fileType;

    /** 文件存储路径或URL地址 */
    @Excel(name = "文件存储路径或URL地址")
    private String storagePath;

    /** 上传者 */
    @Excel(name = "上传者")
    private String uploadBy;

    /** 上传时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上传时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date uploadTime;

    /** 文件状态（0正常 1禁用/不可访问 2删除） */
    @Excel(name = "文件状态", readConverterExp = "0=正常,1=禁用/不可访问,2=删除")
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public void setFileId(Long fileId) 
    {
        this.fileId = fileId;
    }

    public Long getFileId() 
    {
        return fileId;
    }

    public void setFileName(String fileName) 
    {
        this.fileName = fileName;
    }

    public String getFileName() 
    {
        return fileName;
    }

    public void setFileSize(Long fileSize) 
    {
        this.fileSize = fileSize;
    }

    public Long getFileSize() 
    {
        return fileSize;
    }

    public void setFileType(String fileType) 
    {
        this.fileType = fileType;
    }

    public String getFileType() 
    {
        return fileType;
    }

    public void setStoragePath(String storagePath) 
    {
        this.storagePath = storagePath;
    }

    public String getStoragePath() 
    {
        return storagePath;
    }

    public void setUploadBy(String uploadBy) 
    {
        this.uploadBy = uploadBy;
    }

    public String getUploadBy() 
    {
        return uploadBy;
    }

    public void setUploadTime(Date uploadTime) 
    {
        this.uploadTime = uploadTime;
    }

    public Date getUploadTime() 
    {
        return uploadTime;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Integer getPermission() {
        return permission;
    }

    public void setPermission(Integer permission) {
        this.permission = permission;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public Long getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Long categoryId) {
        this.categoryId = categoryId;
    }

    public Long getFileCategoryId() {
        return fileCategoryId;
    }

    public void setFileCategoryId(Long fileCategoryId) {
        this.fileCategoryId = fileCategoryId;
    }

    public Long getIdCategory() {
        return idCategory;
    }

    public void setIdCategory(Long idCategory) {
        this.idCategory = idCategory;
    }

    public String getCurrentFileUrl() {
        return currentFileUrl;
    }

    public void setCurrentFileUrl(String currentFileUrl) {
        this.currentFileUrl = currentFileUrl;
    }
}
